package Persona;


public class Persona {

	public String nombre;
	public String apellidos, direccion, notas;
	public int t_movil, t_fijo;
	
	public void Mostrar(){ //Esta fnción al ser llamada enseña todos los campos del Contacto correspondiente
		System.out.println("Nombre: "+nombre);
		System.out.println("Apellidos: "+apellidos);
		System.out.println("Dirección: "+direccion);
		System.out.println("Teléfono Fijo: "+t_fijo);
		System.out.println("Teléfono Móvil: "+t_movil);
		System.out.println("Notas: "+notas);
		
	}
	
	public boolean Buscar(String cadena){
		int i;
		boolean cuincide=false;
		String movil,fijo;
		
		
		/* En este algoritmo empezará a buscar si la cadena coincide con todos
		 * los substrings de la misma longitud posibles en cada uno de los campos
		 * qe son Strings.
		 * Para los que son enteros, pasará el entero a un string y hará lo mismo. 
		 */
		if (cadena!=""){
		if(cadena.length()<=nombre.length()){
			i=0;
			do{
				if(nombre.substring(i,i+cadena.length()).equals(cadena)){ /*Si el Substring de longitud
																			la misma que la cadena, que empieza
																			desde la posición i no coincide con
																			la parte de la cadena que se compara,
																			avanza cada vez un caracter en la cadena
																			para seguir comprobando el resto de posiciones
																			*/
					cuincide = true;
				}
				i++;	
			}
			while(i<=(nombre.length()-cadena.length())&&cuincide==false); /*Comprueba mientras no hayas
																			temrinado de recorrer las posibles
																			posiciones del Substring en cada campo
																			o mientras no encuentre coincidencia					
			 																*/
		}
		
		/*el proceso arriba hecho con el nombre, se sigue aplicando con el resto de
		 * campos, sólo que si ya se encontró coincidencia, no entrará en los
		 * "do - while", ahorrando comprobaciones innecesarias.
		 */
		
		if(cadena.length()<=apellidos.length()){
			i=0;
			do{
				if(apellidos.substring(i,i+cadena.length()).equals(cadena)){
					cuincide = true;
				}
				i++;	
			}
			while(i<=(apellidos.length()-cadena.length())&&cuincide==false);
		}
		if(cadena.length()<=direccion.length()){
			i=0;
			do{
				if(direccion.substring(i,i+cadena.length()).equals(cadena)){
					cuincide = true;
				}
				i++;	
			}
			while(i<=(direccion.length()-cadena.length())&&cuincide==false);
		}
		if(cadena.length()<=notas.length()){
			i=0;
			do{
				if(notas.substring(i,i+cadena.length()).equals(cadena)){
					cuincide = true;
				}
				i++;	
			}
			while(i<=(notas.length()-cadena.length())&&cuincide==false);
		}
		fijo = "" +t_fijo; //convierte a String los dos teléfonos
		movil = "" + t_movil;
			if(cadena.length()<=fijo.length()){
				i=0;
				do{
					if(fijo.substring(i,i+cadena.length()).equals(cadena)){
						cuincide = true;
					}
					i++;	
				}
				while(i<=(fijo.length()-cadena.length())&&cuincide==false);
			}
			if(cadena.length()<=movil.length()){
				i=0;
				do{
					if(movil.substring(i,i+cadena.length()).equals(cadena)){
						cuincide = true;
					}
					i++;	
				}
				while(i<=(movil.length()-cadena.length())&&cuincide==false);
			}
		}
		//Tras comprobar todo, devolverá "true" si alguno de los campos tuvo coincidencias
		return cuincide;
	}
}
